1. Field of the Invention
The present invention relates to the field of cryptography. More particularly, the present invention relates to an electronic system that includes security functionality to optimize performance of the electronic system during cryptographic operations.
2. Description of Art Related to the Invention
In today's society, it is becoming necessary to protect information transmitted from a personal computer ("PC") so that the information is clear and unambiguous to an authorized receiver, but incomprehensible to any unauthorized persons. Additionally, it is becoming necessary to protect information stored within the PC to prevent unauthorized persons from downloading information onto a floppy disk, digital tape or other type of content storage device. Protection against unauthorized downloading may be accomplished by placing the information in an encrypted format prior to storage within the PC. Such encryption may be performed by either (i) a processing unit of the PC executing cryptographic software, or (ii) a cryptographic device solely connected to a system bus of the PC.
Referring to FIG. 1, the PC 100 designed in accordance with a conventional cryptographic implementation scheme is shown. The PC 100 includes a host processor 105 coupled to a chipset 110. The chipset 110 operates as a communicative pathway to both main memory 115 and an internal bus 120. A number of peripheral devices may be coupled to the internal bus 120 including a Personal Computer ("PC") card 125 that is used in this embodiment to provide cryptographic functionality to PC 100. Other peripheral devices include a parallel port device 126, a modem 127, and a disk controller 128 being an interface to a storage device such as a hard disk drive ("HDD") 129. This conventional architectural scheme may simplify the implementation of cryptographic functionality into an existing PC platform without an appreciable effect on various components already implemented therein; however, it adversely impacts performance of PC 100.
More specifically, a primary disadvantage associated with the conventional cryptographic implementation of FIG. 1 is that a cryptographic device 130, solely implemented within the PC 100 as a peripheral device such as a PC card, would adversely affect bandwidth of internal bus 120. The reason for the adverse effect is that performance of "bulk cryptographic operations" would require data to be transferred through internal bus 120 a multiple number of times. "Bulk cryptographic operations" are defined as operations involving (i) cryptography that supports high-volume throughput, (ii) hashing and the like. The cryptography utilized by bulk cryptographic operations typically involves symmetric key cryptography (e.g., encryption or decryption under Data Encryption Standard "DES" and other functions), or perhaps may involve asymmetric key cryptography.
For example, in order to store data in an encrypted format within a peripheral device such as HDD 129, the data residing in main memory 115 and having a non-encrypted format would be initially transferred to the peripheral device containing cryptographic device 130. Thereafter, cryptographic device 130 would encrypt the data and either transfer the encrypted data to HDD 129 or to main memory 115 for subsequent transmission to HDD 129. In either scenario, the data propagates through internal bus 120 at least two and perhaps three times, in contrast to the normal propagation of data directly from main memory 115 to HDD 129 in those cases when data is being stored in a non-encrypted format.
Referring now to FIG. 2, another embodiment of a PC 200, designed in accordance with a second conventional cryptographic implementation scheme, is shown. The PC 200 includes a host processor 205 coupled to a chipset 210, main memory 215 and an internal bus 220 as described above. Contrary to the conventional cryptographic implementation scheme of FIG. 1 in which cryptography is performed by the cryptographic device acting as a separate peripheral device, cryptographic circuitry is implemented into each of the peripheral devices 225.sub.1 -225.sub.n. ("n" being a positive whole number) connected to internal bus 220. This embodiment would avoid unacceptable bus bandwidth latency, but would impose other disadvantages. One disadvantage is that this embodiment increases the costs of each peripheral device 225.sub.1 -225.sub.n. Typically, these additional costs result from greater component costs due to increased circuitry and greater design and manufacturing costs. Another disadvantage that may occur is that this embodiment increases the likelihood of future compatibility problems as different cryptographic circuitry enters the marketplace.
Thus, it would be desirable to develop a system and method of operation that overcomes the above-described disadvantages.